home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 352_01 / veczrect.cpp < prev    next >
C/C++ Source or Header  |  1991-04-22  |  749b  |  34 lines

  1. //////// COMPLEX VECTORS
  2. //
  3. //    VECZRECT.CPP - rectify a complex vector in polar form.
  4. //                    this involves checking magnitudes for negative values
  5. //                    which might occur after some scalar to complex operations.
  6. //
  7. //
  8. #include <stdlib.h>
  9. #include <alloc.h>
  10. #include <string.h>
  11. #include "wtwg.h"
  12.  
  13. #include "dblib.h"
  14.  
  15. #include "vector.h"
  16.  
  17. void CVector::rectify(void)
  18.         {
  19.         if ( !ispolar ) return;
  20.         int vn = x.n;
  21.         float *vm = x.v, *va = y.v;        // mag and angle arrays.
  22.         float temp;
  23.         while ( --vn >= 0 )
  24.             {
  25.             if ( (temp =vm[vn]) < 0 ) 
  26.                 {
  27.                 vm[vn] = -temp;        // make mag. positive.
  28.                 va[vn] += PI;        // add PI to phase.    
  29.                 }    
  30.             }
  31.         }
  32. //----------------------end of VECZRECT.CPP -------------------------
  33.  
  34.